﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using pttk_htt_hr.DAO;
using pttk_htt_hr.Constant;
using pttk_htt_hr.DTO;
using pttk_htt_hr.Utility;

namespace pttk_htt_hr.GUI
{
    public partial class MH_DanhSachThucDonTuanToi_Xem : Form
    {
        #region Properties
        private string _MaPLTDTT;
        private int _ActionKey;


        public string MaPLTD
        {
            get { return _MaPLTDTT; }
            set { _MaPLTDTT = value; }
        }

        public int ActionKey
        {
            get { return _ActionKey; }
            set { _ActionKey = value; }
        }

        // Đưa tham số vào hàm tạo để Nhận tham số từ màn hình Kia truyền vào.
        public MH_DanhSachThucDonTuanToi_Xem(string MaPLTDTT)
        {
            InitializeComponent();

            this.MaPLTD = MaPLTDTT;
        }
        #endregion

        #region Initial
        private void MH_DanhSachThucDonTuanToi_Xem_Load(object sender, EventArgs e)
        {
            /*
             *  Bước 1: Chuẩn bị đối số 
             *  1. Load data cho PHIEU_LAP_TD_TUAN_TOI: @MaPLTDTT
             *  2. Load data cho CHI_TIET_PHIEU_LAP_TD_TUAN_TOI: @MaPLTDTT
             */

            // List<SqlParameter> PLTDTTparams
            List<SqlParameter> PLTDTTparams = new List<SqlParameter>();
            PLTDTTparams.Add(new SqlParameter(TableColumnMapping.MaPLTDTT, MaPLTD));

            // List<SqlParameter> CTPLTDTTparams
            List<SqlParameter> CTPLTDTTparams = new List<SqlParameter>();
            CTPLTDTTparams.Add(new SqlParameter(ParameterConstant.MaPLTDTT, MaPLTD));

            /*
             *  Bước 2: Gọi xử lý từ BLogic
             */

            ThucDonTuanToiDTO tdtd = ThucDonTuanToiBUS.Lay_ThucDonTuanToi(PLTDTTparams, CTPLTDTTparams);

            /*
             *  Bước 3: Đưa kết quả ra màn hình
             */

            this.lblMaPLTDTT.Text = tdtd.PhieuLapThucDonTuanToi.MaPLTDTT;
            this.lbnNgayTao.Text = tdtd.PhieuLapThucDonTuanToi.NgayLap;
            this.rtxGhiChu.Text = tdtd.PhieuLapThucDonTuanToi.GhiChu;

            // Add data to gridview
            DataGridUtil.AddData_To_DataGridView(tdtd.ListChiTietPhieuLapThucDonTuanToi, this.dgvThucDon, true, DataGridUtil.GetAll_ColumnName_DataGridView(this.dgvThucDon).ToArray());
        }
        #endregion

        #region Metthod
        void single_del()
        {
            if (Dialog.Show_MessageBox_YesNo_Delete())
            {
                /*
                 *  Bước 1: Chuẩn bị tham số
                 *  1. Xóa data trong bảng CHI_TIET_PHIEU_LAP_TD_TUAN_TOI: @MaPLTDTT
                 *  2. Xóa data trong bảng PHIEU_LAP_TD_TUAN_TOI: @MaPLTDTT
                 */

                List<SqlParameter> CTPLTDTTparams = new List<SqlParameter>();
                CTPLTDTTparams.Add(new SqlParameter(ParameterConstant.MaPLTDTT, MaPLTD));
                List<SqlParameter> PLTDTTparams = new List<SqlParameter>();
                PLTDTTparams.Add(new SqlParameter(ParameterConstant.MaPLTDTT, MaPLTD));


                /*
                 *  Bước 2: Gọi xử lý từ BLogic
                 */

                if (SystemConstant.SP_EXEC_OK == ThucDonTuanToiBUS.Delete_ThucDonTuanToi(CTPLTDTTparams, PLTDTTparams))
                {
                    Dialog dg = new Dialog();
                    dg.Show_Info_MessageBox_DeleteOK();

                    // close current window
                    this.Close();
                }
                else
                {
                    Dialog dg = new Dialog();
                    dg.Show_Info_MessageBox_DeleteNG();
                }
            }
        }
        void edit()
        {
            //
            MaPLTD = this.lblMaPLTDTT.Text;
            ActionKey = ActionKeyConstant.ACTION_KEY_EDIT;

            MH_DanhSachThucDon_TaoSua ts_tdtt = new MH_DanhSachThucDon_TaoSua(MaPLTD, ActionKey);
            ts_tdtt.Show();

            // close current window
            this.Close();
        }
        #endregion

        #region Event
        private void btnDong_Click(object sender, EventArgs e)
        {
            if (Dialog.Show_MessageBox_YesNo_Close())
            {
                this.Close();    
            }
        }

        /// <summary>
        /// Mục đích: Xóa Physical 1 danh sách thực đơn
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnXoa_Click(object sender, EventArgs e)
        {
            single_del();
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            edit();
        }
        #endregion

        private void btnLayNVL_Click(object sender, EventArgs e)
        {
            string MaPLTDTT = lblMaPLTDTT.Text;



        }
    }
}
